home *** CD-ROM | disk | FTP | other *** search
- property pTableObj, pTableCount, pSpriteList, pControlObjList, pTracking, pPointingCursor, pNArrowObj, pSArrowObj, pEArrowObj, pWArrowObj, pVThumbObj, pHThumbObj, pVBedObj, pHBedObj, pScrollNeedsList, pStartList, pCurrList, pX, pY, pSelRect, pRolloverTextObj, pTableMaxRect, pSpriteLeftList, pBorderRectList, pLibraryName
- global gTableClipboard
-
- on new me
- pControlObjList = [:]
- pTracking = 0
- pPointingCursor = [member("point hand"), member("point hand mask")]
- return me
- end
-
- on InitControlProps me
- cbs = getaProp(pSpriteList, #closeBox)
- mmbs = getaProp(pSpriteList, #MaxMinBox)
- CopyBS = getaProp(pSpriteList, #CopyButton)
- PrintBS = getaProp(pSpriteList, #PrintButton)
- SaveBS = getaProp(pSpriteList, #SaveButton)
- addProp(pControlObjList, cbs, new(script("close box"), "close box", "global", cbs, the loc of sprite cbs))
- addProp(pControlObjList, mmbs, new(script("max min box"), "min max", "global", mmbs, the loc of sprite mmbs))
- addProp(pControlObjList, CopyBS, new(script("copy icon"), "copy", "internal", CopyBS, the loc of sprite CopyBS))
- addProp(pControlObjList, PrintBS, new(script("print icon"), "print", "internal", PrintBS, the loc of sprite PrintBS))
- addProp(pControlObjList, SaveBS, new(script("save icon"), "save", "internal", SaveBS, the loc of sprite SaveBS))
- VBedSp = getaProp(pSpriteList, #VBed)
- VThumbSp = getaProp(pSpriteList, #VThumb)
- NArrowSp = getaProp(pSpriteList, #NorthArrow)
- SArrowSp = getaProp(pSpriteList, #SArrow)
- pVBedObj = getaProp(pControlObjList, VBedSp)
- pVThumbObj = getaProp(pControlObjList, VThumbSp)
- pNArrowObj = getaProp(pControlObjList, NArrowSp)
- pSArrowObj = getaProp(pControlObjList, SArrowSp)
- HBedSp = getaProp(pSpriteList, #HBed)
- EArrowSp = getaProp(pSpriteList, #EArrow)
- WArrowSp = getaProp(pSpriteList, #WArrow)
- HThumbSp = getaProp(pSpriteList, #HThumb)
- pHBedObj = getaProp(pControlObjList, HBedSp)
- pEArrowObj = getaProp(pControlObjList, EArrowSp)
- pWArrowObj = getaProp(pControlObjList, WArrowSp)
- pHThumbObj = getaProp(pControlObjList, HThumbSp)
- repeat with rc in pControlObjList
- Inscope(rc)
- end repeat
- disable(getaProp(pControlObjList, CopyBS))
- EvalDisableScroll(me)
- repeat with rc in [cbs, mmbs, PrintBS, SaveBS]
- set the cursor of sprite rc to GetPointingCursor(me)
- end repeat
- end
-
- on EvalDisableScroll me
- pScrollNeedsList = GetScrollNeeds(pTableObj)
- repeat with rc in [pNArrowObj, pSArrowObj, pVThumbObj, pVBedObj]
- if getaProp(pScrollNeedsList, #v) then
- Inscope(rc)
- next repeat
- end if
- disable(rc)
- end repeat
- repeat with rc in [pEArrowObj, pWArrowObj, pHThumbObj, pHBedObj]
- if getaProp(pScrollNeedsList, #h) then
- Inscope(rc)
- next repeat
- end if
- disable(rc)
- end repeat
- end
-
- on ScrollToStart me
- ScrollToStart(pTableObj)
- return me
- end
-
- on setSelectionRect me, StartCellRect, CurrCellRect
- l = min(StartCellRect.left, CurrCellRect.left)
- t = min(StartCellRect.top, CurrCellRect.top)
- R = max(StartCellRect.right, CurrCellRect.right)
- b = max(StartCellRect.bottom, CurrCellRect.bottom)
- pSelRect = rect(l, t, R, b)
- return me
- end
-
- on TableCopy me
- if checkIfSelected(pTableObj) then
- gTableClipboard = getSelectedData(pTableObj)
- end if
- return me
- end
-
- on print me
- global gEnvironObj
- if not isMemoryAvailable("print the document", 1200, 500) then
- exit
- end if
- LibraryName = GetLibraryName(me)
- TitleMember = the number of member "print title f"
- TableOrientation = member("orientation", "tabled.cst").text
- TableMemberNum = the number of member "orientation" of castLib "tabled.cst" + 1
- unLoad()
- doc = new(xtra("PrintOMatic"))
- if not objectp(doc) then
- alert("A problem was encountered while initializing the printer.")
- exit
- end if
- if TableOrientation = "portrait" then
- nothing()
- else
- setLandscapeMode(doc, 1)
- end if
- pageW = getPageWidth(doc)
- pageH = getPageHeight(doc)
- set the textSize of member TitleMember to 14
- member(TitleMember).rect = rect(0, 0, pageW, 0)
- TitleH = member(TitleMember).height
- pgNumSym = numToChar(166)
- setPageNumSymbol(doc, pgNumSym)
- setTextJust(doc, "centered")
- if member(TableMemberNum + 1).type = #bitmap then
- drawText(doc, "page" && pgNumSym, point((pageW / 2) - 18, pageH + 18))
- end if
- newPage(doc)
- setTextJust(doc, "centered")
- CurrBottom = TitleH + 18
- newFrame(doc, rect(0, 0, pageW, CurrBottom), 0)
- append(doc, member(TitleMember), 1)
- CurrTop = CurrBottom
- CurrBottom = pageH
- newFrame(doc, rect(0, CurrTop, pageW, CurrBottom), 0)
- repeat while member(TableMemberNum, "tabled.cst").type = #bitmap
- append(doc, member(TableMemberNum), 1)
- TableMemberNum = TableMemberNum + 1
- end repeat
- setDocumentName(doc, "American History")
- if doJobSetup(doc) then
- print(doc)
- end if
- doc = 0
- return me
- end
-
- on save me
- fileName = the text of field "media f" of castLib 1
- fileName = MakePlatformFileName(fileName)
- fileName = fileName & GetTextExtension()
- pathAndName = GetSavePathandName(fileName)
- if pathAndName <> EMPTY then
- saveTextFile(pathAndName, the text of field 30 of castLib "tabled.cst")
- end if
- return me
- end
-
- on InitRollOverText me
- if not objectp(pRolloverTextObj) then
- rolloverList = []
- setAt(rolloverList, getaProp(pSpriteList, #closeBox), 16)
- setAt(rolloverList, getaProp(pSpriteList, #CopyButton), 13)
- setAt(rolloverList, getaProp(pSpriteList, #PrintButton), 11)
- setAt(rolloverList, getaProp(pSpriteList, #SaveButton), 10)
- setAt(rolloverList, getaProp(pSpriteList, #MaxMinBox), 18)
- pRolloverTextObj = new(script("rollover text"), rolloverList)
- end if
- end
-
- on doRolloverText me
- doRolloverText(pRolloverTextObj)
- end
-
- on SetTableMaxRectProp me, list
- pTableMaxRect = list
- end
-
- on GetTableMaxRectProp me
- return pTableMaxRect
- end
-
- on EvalCellRect xRect, Side, SpriteSide
- if voidp(xRect) then
- return 0
- end if
- if getAt(xRect, Side) < SpriteSide then
- return 0
- else
- return 1
- end if
- end
-
- on GetAllTablesRect
- Table1Rect = GetCurrentRect(getAt(pTableObj, 1))
- TableLastRect = GetCurrentRect(getAt(pTableObj, count(pTableObj)))
- NWpoint = point(getAt(Table1Rect, 1), getAt(Table1Rect, 2))
- SEpoint = point(getAt(TableLastRect, 3), getAt(TableLastRect, 4))
- return rect(NWpoint, SEpoint)
- end
-
- on GetTargList direction
- xList = []
- repeat with rc in pTableObj
- if direction = #v then
- TestSprite = GetSprite(rc)
- if member(GetMember(rc)).height > the height of sprite TestSprite then
- append(xList, TestSprite)
- end if
- next repeat
- end if
- TestSprite = GetSprite(rc)
- if member(GetMember(rc)).width > the width of sprite TestSprite then
- append(xList, TestSprite)
- end if
- end repeat
- return xList
- end
-
- on SetSpriteLeftList me, xVar
- pSpriteLeftList = xVar
- end
-
- on SetBorderRect me, list
- pBorderRectList = list
- end
-
- on GetBorderRect me, size
- return getAt(pBorderRectList, size)
- end
-
- on SetTableObj me, Var
- pTableObj = Var
- setSuperTable(pTableObj)
- end
-
- on GetTableObj me
- return pTableObj
- end
-
- on SetControlList me, xList
- pControlObjList = xList
- end
-
- on GetControlList me
- return pControlObjList
- end
-
- on SetSpriteList me, list
- pSpriteList = list
- end
-
- on GetSpriteList me
- return pSpriteList
- end
-
- on GetPointingCursor me
- return pPointingCursor
- end
-
- on SetLibraryName me, xName
- pLibraryName = xName
- end
-
- on GetLibraryName me
- return pLibraryName
- end
-
- on condemn me
- pControlObjList = CondemnList(me, pControlObjList)
- condemn(pTableObj)
- pTableObj = 0
- condemn(pNArrowObj)
- pNArrowObj = 0
- condemn(pSArrowObj)
- pSArrowObj = 0
- condemn(pEArrowObj)
- pEArrowObj = 0
- condemn(pWArrowObj)
- pWArrowObj = 0
- condemn(pVThumbObj)
- pVThumbObj = 0
- condemn(pHThumbObj)
- pHThumbObj = 0
- condemn(pVBedObj)
- pVBedObj = 0
- condemn(pHBedObj)
- pHBedObj = 0
- pRolloverTextObj = 0
- return me
- end
-
- on CondemnList me, xList
- MaxCount = count(xList)
- repeat with rc = 1 to MaxCount
- xObj = getAt(xList, rc)
- condemn(xObj)
- setAt(xList, rc, 0)
- end repeat
- return 0
- end
-